package mutilthread;

/**
 * Created with IntelliJ IDEA.
 * Description: 在开发中，希望有的类在一个进程中不应该存在多个实例（对象）:
 *              因此使用 单例模式（单个实例/单个对象） 来限制某个类只能有一个唯一实例
 *              饿汉模式 和 懒汉模式
 *              单例模式的前提是：一个进程
 * User: Li_yizYa
 * Date: 2025—03—26
 * Time: 20:09
 */

// 创建一个单例的类
// 饿汉方式实现
// 饿 的意思是 “迫切”
// 在类被加载的时候，就会创建出这个单例的实例
class Singleton {
    //static 修饰，instance 成员变量就是 “类成员”
    //类成员的初始化，是在Singleton类被加载的时候（程序启动的时候）
    private static Singleton instance = new Singleton();

    public static Singleton getInstance() {
        return instance;
    }

    // 单例模式最关键的部分, 将构造方法设为私有
    private Singleton() {}
}
public class Demo13 {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        System.out.println(s1 == s2);
    }
}
